I use the "per Window" layout and it works until I open a new terminal (i tried xfce-terminal and xterm). I did a little investigation and found that each time a new terminal is open, the system triggers the X-config-changed signal and then the plugin resets its internal status losing all the user information. By commenting out the signal binding the plugin works as expected. --- ./xfce4-xkb-plugin/panel-plugin/xkb-config.c 2016-04-24 10:44:21.120352689 +0200 +++ ../xfce4-xkb-plugin/panel-plugin/xkb-config.c 2016-04-24 10:42:00.247010708 +0200 @@ -121,10 +121,10 @@ "X-state-changed", G_CALLBACK (xkb_config_xkl_state_changed), NULL); - g_signal_connect (config->engine, - "X-config-changed", - G_CALLBACK (xkb_config_xkl_config_changed), - NULL); +// g_signal_connect (config->engine, +// "X-config-changed", +// G_CALLBACK (xkb_config_xkl_config_changed), +// NULL); gdk_window_add_filter (NULL, (GdkFilterFunc) handle_xevent, NULL); return TRUE;
Viktor Odintsev referenced this bugreport in commit 030fed38d640bbcb292dde6c9e054b1b91488e90 Bug 12550: Keep keyboard configuration between X-config callback calls https://git.xfce.org/panel-plugins/xfce4-xkb-plugin/commit?id=030fed38d640bbcb292dde6c9e054b1b91488e90
The patch I applied should fix your problem. Can you test it?
-- GitLab Migration Automatic Message -- This bug has been migrated to xfce.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.xfce.org/panel-plugins/xfce4-xkb-plugin/-/issues/27. Please create an account or use an existing account on one of our supported OAuth providers. If you want to fork to submit patches and merge requests please continue reading here: https://docs.xfce.org/contribute/dev/git/start#gitlab_forks_and_merge_requests Also feel free to reach out to us on the mailing list https://mail.xfce.org/mailman/listinfo/xfce4-dev